#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define N 100

void prt(int n, char ch) {
    if (n != 1)    /*当字符个数大于1，输出字符个数*/
        printf("%d", n);
    putchar(ch);
}

int main() {
    char str[N];
    int i, len;
    int count;   /*统计当前字符的重复次数*/
    char cur;   /*存储当前正在统计的字符*/
    printf("请输入一个字符串：");
    gets(str);
    cur = str[0];  /*初始状态下，cur 被赋值为str[0]*/
    count = 0;    /*初始状态下，count 被赋值为0*/
    len = strlen(str);
    for (i = 0; i < len; i++) {
        if (str[i] == cur) /*若与当前字符相同，计数器增1*/
            count++;
        else   /*若遇到不同字符，则输出上一子串的编码*/
        {
            prt(count, cur);  /* 输出一组编码*/
            cur = str[i];   /* 更新cur*/
            count = 1;    /* 计数器更新为1*/
        }
        if (i == len - 1)   /*若是最后一个字符，则直接输出*/
            prt(count, cur);
    }
    printf("\n");
}
